package cn.lyd.basic.util;

import java.io.IOException;
import java.io.UnsupportedEncodingException;
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
/**
 * 短信发送工具类
 */
public class SmsUtils {
    //用户名
    public static final String UID = "llyd";
    //秘钥
    public static final String KEY = "8DE7C8E523DAA1254EEDFBCC0E43B390";

    /**
     * 发送短信
     * @param phone 手机
     * @param content 发送内容
     * @return 返回值
     */
    public static void sendSms(String phone,String content){
        try {
            HttpClient client = new HttpClient();
            PostMethod post = new PostMethod("https://utf8api.smschinese.cn/");
            post.addRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=utf-8");//在头文件中设置转码
            NameValuePair[] data ={ new NameValuePair("Uid", SmsUtils.UID),
                    new NameValuePair("Key", SmsUtils.KEY),
                    new NameValuePair("smsMob",phone),
                    new NameValuePair("smsText",content)};
            post.setRequestBody(data);

            client.executeMethod(post);
            Header[] headers = post.getResponseHeaders();
            int statusCode = post.getStatusCode();
            System.out.println("statusCode:"+statusCode); //HTTP状态码
            for(Header h : headers){
                System.out.println(h.toString());
            }
            String result = new String(post.getResponseBodyAsString().getBytes("utf-8"));
            System.out.println(result);  //打印返回消息状态

            post.releaseConnection();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        sendSms("18081063414","靓仔测试");
    }
}
